import logging

import redis


class Config(object):
    "工程配置信息"
    SECRET_KEY = '0L8LmHvCESdS5yJMC0hBdtw+sX0/V9RCaEa5bdinu7nx3mBM6LWnoTxhYeul0KS7'
    DEBUG = True
    # 数据库的配置信息
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:mysql@localhost:3306/information'
    # 关闭追踪数据库的修改
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # redis配置
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379
    # flask_session的配置信息
    SESSION_TYPE = "redis"  # 指定 session 保存到 redis 中
    SESSION_USE_SIGNER = True  # 让 cookie 中的 session_id 被加密签名处理
    # 给session配置redis的操作对象
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    # 设置session可以过期
    SESSION_PERMANENT = False
    PERMANENT_SESSION_LIFETIME = 86400 * 2  # session 的有效期，单位是秒


class DevelopementConfig(Config):
    """开发模式下的配置"""
    DEBUG = True
    # 默认日志等级
    LOG_LEVEL = logging.DEBUG


class ProductionConfig(Config):
    """生产模式下的配置"""
    # 默认日志等级
    LOG_LEVEL = logging.DEBUG


# 定义配置字典
config = {
    "development": DevelopementConfig,
    "production": ProductionConfig
}
